java 8 date time 简单样例

参考

部分样例

import java.time.temporal.TemporalAdjusters;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import static java.lang.System.out;

/**
 * 描述:java 8 处理时间样例
 */
public class LocalDateExample {

	private static String PATTERN_YYYYMMDD = "yyyyMMdd";

	public static void main(String[] args){

		// 这里模拟的是日期参数为 yyyyMMdd形式,如果是yyyy-MM-dd的格式则无需进行任何处理

		// 获取指定日期上一年的最后一天
		LocalDate localdate1 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).minus(1, ChronoUnit.YEARS).with(TemporalAdjusters.lastDayOfYear());

		out.println("20190829上一年的最后一天" + localdate1);
		out.println("20190829上一年的最后一天" + localdate1.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));

		// 获取指定年的年初
		LocalDate localdate2 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).with(TemporalAdjusters.firstDayOfYear());

		out.println("20190829的年初" + localdate2);
		out.println("20190829的年初" + localdate2.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));

		// 获取指定日期前一年的年初
		LocalDate localdate3 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).minus(1, ChronoUnit.YEARS).with(TemporalAdjusters.firstDayOfYear());

		out.println("20190829前一年的年初" + localdate3);
		out.println("20190829前一年的年初" + localdate3.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));

		// 去年的今天
		LocalDate localdate4 = LocalDate.parse("20190829", DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)).minus(1, ChronoUnit.YEARS);

		out.println("20190829去年的今天" + localdate4);
		out.println("20190829去年的今天" + localdate4.format(DateTimeFormatter.ofPattern(PATTERN_YYYYMMDD)));
	}
}
posted @ 2019-09-23 17:21  LoveSnowBaby  阅读(237)  评论(0编辑  收藏  举报